0:00–0:10
Recap
0:10–0:40
Lecture
0:40–1:40
Guided Lab
1:40–1:50
Bonus
1:50–2:00
Debrief
0:00 – 0:10Recap · 10 min

Day 1 review & the need for policy control

0:10 – 0:40Lecture · 30 min

Teams policy types, the cascade model, and policy packages

Teams has five major policy types, each governing a different surface. The cascade model determines which policy applies when multiple could — and getting it wrong is the most common Teams admin mistake.

The five policy types

Policy typeWhat it controlsKey settings
Meeting policiesWhat participants can do in Teams meetingsWho can present, lobby bypass, recording, transcription, who can start a meeting
Messaging policiesBehaviour in chats and channel messagesDelete/edit own messages, read receipts, URL previews, giphy, priority notifications
App permission policiesWhich apps users can install and use in TeamsMicrosoft apps, third-party apps, custom/sideloaded apps — allow or block lists
App setup policiesWhich apps are pinned to the Teams sidebarPinned apps, user pinning allowed/blocked
Calling policiesCalling capabilities available to a userPrivate calling, call forwarding, simultaneous ring, voicemail, call groups

The policy cascade — which policy wins?

1. User-level policy assignment
Explicitly assigned to this specific user — always wins
← highest priority
2. Group policy assignment
Policy assigned to an M365 Group or security group the user belongs to
3. Global (org-wide default) policy
Applies to all users who have no explicit assignment — lowest priority
← lowest priority
Instructor note: The cascade model is the most commonly misunderstood concept in Teams administration — and the source of the most common misconfiguration in production. Spend extra time on the cascade diagram. A useful framing: "Think of it like CSS — the most specific rule wins." Direct assignment = inline style. Group assignment = class. Global policy = default stylesheet. Students who already know CSS will immediately understand.
0:40 – 1:40Guided lab · 60 min

Lab 5-B: Configuring Teams policies for Lakeview Logistics

Students review and tune the Global meeting and messaging policies, create a custom messaging policy for Finance users, assign it via group assignment, configure an app permission policy, and verify effective policies on specific users.

Group policy assignment propagation takes time. After assigning a policy to a group, it can take between 2 minutes and several hours to take effect for all members, depending on group size and current system load. In a small lab tenant it typically takes 2–5 minutes. If Priya Nair's effective policy still shows Global after 5 minutes, proceed and revisit at the end of the lab.
Instructor note: Step 6's effective policy view is the payoff — students see for the first time exactly which policy each user is getting and why. The source column (Direct / Group / Global) is the answer to "why is this user experiencing unexpected Teams behaviour?" Walk through both Tom Bellamy and Priya Nair on the projector and compare side by side.
1:40 – 1:50Bonus · 10 min

⭐ Bonus: Policy packages & PowerShell policy assignment

⭐ Bonus A — Explore and assign a policy package
  • Navigate to admin.teams.microsoft.comPolicy packages. Browse the available packages and review the policies bundled in the Frontline worker package
  • Assign the Frontline worker package to James Okafor and Aisha Mwangi (Logistics and Fleet Coordinators — the most "frontline" roles at Lakeview Logistics)
  • Check their effective policies after assignment — which policies changed and which remained at Global default?
  • In your Lab Journal: what is the difference between assigning a policy package and assigning individual policies? When would you prefer packages?
⭐ Bonus B — Assign policies via PowerShell
  • Connect to Teams PowerShell: Connect-MicrosoftTeams
  • View Tom Bellamy's current policy assignments:
    Get-CsUserPolicyAssignment -Identity t.bellamy@[yoursubdomain] | Format-Table PolicyType, PolicyName, AssignmentType
  • Assign the Finance messaging policy to Tom Bellamy directly via PowerShell:
    Grant-CsTeamsMessagingPolicy -Identity t.bellamy@[yoursubdomain] -PolicyName "LL — Finance Messaging"
  • Verify: Get-CsUserPolicyAssignment -Identity t.bellamy@[yoursubdomain] | Format-Table PolicyType, PolicyName, AssignmentType
  • In your Lab Journal: after directly assigning the policy to Tom, does the group assignment still show? Which takes precedence — and why?
1:50 – 2:00Debrief · 10 min

Reflection & preview

Learning outcomes — by end of Day 2, students can…

Name the five policy typesDescribe what each Teams policy type controls and give an example setting
Explain the cascade modelDescribe the three-tier hierarchy and predict which policy a given user receives
Tune the Global policyModify the org-wide default meeting policy for a professional baseline
Create custom policiesBuild a targeted messaging policy for a specific user group
Assign via groupAssign a policy to an M365 Group or security group and verify propagation
Read effective policiesNavigate to a user's Policies tab and interpret the source of each policy assignment

What you need ready

Teams Admin Centre (admin.teams.microsoft.com) Microsoft Teams PowerShell module installed LL-Finance security group confirmed from Week 1 Slide deck: policy cascade diagram Lab 5-B step sheet
Day 3 →Week 5 Overview